<?
class Objecto {
	
	protected $data	= array();
	protected $efeitos = ListaDeElementos;
	
	function __construct ($nome, $genero, $img) {
		$this->data['id']	= rand(1,999999);
		$this->data['nome']	= $nome;
		$this->data['img']	= $img;
		if ($genero=='m') {
			$this->data['nome_art'] = 'o'; $this->data['nome_art_ind'] = 'um';
		} else {
			$this->data['nome_art'] = 'a'; $this->data['nome_art_ind'] = 'uma';
		}
		$this->data['t_nome_art'] = ucfirst($this->data['nome_art']);
		
		$this->efeitos = new ListaDeElementos();
	}
	
	public function toResumeHtml($html) {
		return $html->mixArray($this->toArray(), 'li_area_obj');
	}
	
	public function examinadoHtml($siteHtml) {
		
		if ($this->efeitos->numElementos() > 0)
			$tstring1 = $siteHtml->mixArray($this->efeitos->toArray(), 'obj_lista_efeitos');
		else $tstring1 = '';
		$tstring2 = $siteHtml->mixArray($this->toArray(), 'obj_examinado');
		$tstring2 = str_replace('{obj_lista_efeitos}', $tstring1, $tstring2);
		return $tstring2;
	}
	
	public function toHtmlImgLink($html) {
		return $html->mixArray($this->toArray(), 'mapa_objecto_com_link');
	}
	
	public function toHtmlImg($html) {
		return $html->mixArray($this->toArray(), 'mapa_objecto_sem_link');
	}
	
	public function getAreaHtmlLink($siteHtml) {
		return $siteHtml->mixArray($this->toArray(), 'li_area_obj');
	}
	
	public function getEfeitos() {
		return $this->efeitos;
	}
	
	public function getValue($key) {
		return $this->data[$key];
	}
	
	public function toArray() {
		return $this->data;
	}
}
?>